shortcutmanager: Speed up default_remove_controller a bit
authorTimm Bäder <mail@baedert.org>
Thu, 30 Apr 2020 07:08:48 +0000 (09:08 +0200)
committerTimm Bäder <mail@baedert.org>
Tue, 5 May 2020 06:20:10 +0000 (08:20 +0200)
Only call get_n_items on the model once and remove two unnecessary
casts.

gtk/gtkshortcutmanager.c

index c6530c0efe968c93fd84e9519e86e2e2a5936103..9aa3577703f081ded847e50b2db7432564f41aa6 100644 (file)
@@ -113,16 +113,16 @@ gtk_shortcut_manager_default_remove_controller (GtkShortcutManager    *self,
   if (model)
     {
       GListModel *store;
-      guint position;
+      guint position, len;
 
-      store = gtk_flatten_list_model_get_model (model); 
+      store = gtk_flatten_list_model_get_model (model);
 #if 0 && GLIB_CHECK_VERSION(2,64,0)
       if (_g_list_store_find (G_LIST_STORE (store), controller, &position))
         g_list_store_remove (G_LIST_STORE (store), position);
 #else
-      for (position = 0; position < g_list_model_get_n_items (G_LIST_MODEL (store)); position++)
+      for (position = 0, len = g_list_model_get_n_items (store); position < len; position++)
         {
-          GtkShortcutController *item = g_list_model_get_item (G_LIST_MODEL (store), position);
+          GtkShortcutController *item = g_list_model_get_item (store, position);
           g_object_unref (item);
           if (item == controller)
             {